package org.xcolab.view.pages.proposals.view; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import org.xcolab.client.contest.ContestClientUtil; import org.xcolab.util.http.ServiceRequestUtils; import org.xcolab.util.http.caching.CacheName; import javax.servlet.http.HttpServletResponse; @RestController public class ProposalPromotionController { private static final Logger log = LoggerFactory.getLogger(ProposalPromotionController.class); @GetMapping("/triggers/contests/autoPromotion") public ResponseEntity<String> autoPromote(HttpServletResponse response) { int promotedProposals = ContestClientUtil.autoPromoteProposals(); if (promotedProposals > 0) { log.info("Promoted {} proposals.", promotedProposals); ServiceRequestUtils.clearCache(CacheName.PROPOSAL_LIST); ServiceRequestUtils.clearCache(CacheName.PROPOSAL_LIST_CLOSED); } return ResponseEntity.ok("Promoted " + promotedProposals + " proposals."); } }